package com.kobe.game_40;

/**
 * 
 * An irrational decimal fraction is created by concatenating the positive
 * integers:
 * 
 * 0.123456789101112131415161718192021...
 * 
 * It can be seen that the 12^(th) digit of the fractional part is 1.
 * 
 * If d_(n) represents the n^(th) digit of the fractional part, find the value
 * of the following expression.
 * 
 * d_(1) × d_(10) × d_(100) × d_(1000) × d_(10000) × d_(100000) × d_(1000000)
 * 
 */
public class Game40 {
    public static int numberOfSb(StringBuilder sb, int index) {
        return Character.getNumericValue(sb.charAt(index));
    }

    public static void main(String[] args) {
        StringBuilder sb = new StringBuilder();
        for (int i = 1;; i++) {
            sb.append(i);
            if (sb.length() >= 1000000) {
                break;
            }
        }

        int mod = 10;
        int result = 1;
        for (int i = 1; i <= 1000000;) {
            result *= numberOfSb(sb, i - 1);
            i = i * mod;
        }

        System.out.println(result);
    }
}
